package com.chat.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chat.common.entity.MessageChannelMapping;
import com.chat.common.vo.GroupVO;
import com.chat.common.vo.R;
import com.chat.common.vo.SearchChannelMappingVO;
import com.chat.common.vo.UserVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author weikjie
 * @since 2024-03-29
 */
public interface IMessageChannelMappingService extends IService<MessageChannelMapping> {

    R<List<UserVo>> getAllFriends();

    R removeFriend(String userAccount);

    R addFriendMessageChannelMapping(Long fromId,Long toId);
    R addGroupMessageChannelMapping(Long fromId,Long toId);
    R quitGroup(Long groupId);
    List<Long> getGroupMemberIds(Long groupId);
    R<List<UserVo>> getGroupMembers(Long groupId);

    R<List<SearchChannelMappingVO>> searchChannelMapping(String keyword);

    R<UserVo> getFriendByAccount(String account);

    R<List<GroupVO>> getUserGroups(Long userId);
}
